Data communication networks may include various computers, servers, nodes, routers, switches, bridges, hubs, proxies, and other network devices coupled to and configured to pass data to one another. These devices will be referred to herein as “network elements.” Data is communicated through the data communication network by passing protocol data units, such as Internet Protocol packets, Ethernet frames, data cells, segments, or other logical associations of bits/bytes of data, between the network elements by utilizing one or more communication links between the network elements. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
The various network elements on the communication network communicate with each other using predefined sets of rules, referred to herein as protocols. Different protocols are used to govern different aspects of the communication, such as how signals should be formed for transmission between network elements, various aspects of what the protocol data units should look like, how protocol data units should be handled or routed through the network by the network elements, and how information associated with routing information should be exchanged between the network elements.
Ethernet is a well known networking protocol that has been defined by the Institute of Electrical and Electronics Engineers (IEEE) as standards 802.1 and 802.3. Conventionally, Ethernet has been used to implement networks in enterprises such as businesses and campuses, and other technologies have been used to transport network traffic over longer distances. As the Ethernet standards have evolved over time, Ethernet has become more viable as a long distance transport technology as well.
FIG. 1 shows several fields that have been added to the Ethernet standard over time. As shown in FIG. 1, the original Ethernet frame format specified by IEEE 802.1 includes a source address (C-SA) and a destination address (C-DA). IEEE 802.1Q added a Customer VLAN tag (C-Tag) which includes an Ethertype, Tag Control Information (TCI) information, and customer VLAN ID. IEEE 802.1ad added a provider VLAN tag (S-Tag), which also includes an Ethertype, TCI information, and subscriber VLAN ID. The C-Tag allows the customer to specify a VLAN, while the S-Tag allows the service provider to specify a VLAN on the service provider's network for the frame. These tags also allow the customer and subscriber to specify other aspects which are not relevant to an understanding of the contribution disclosed herein. When a network is implemented using 802.1ad it may be referred to as Q in Q encapsulation or Provider Bridging (PB). A domain implemented using this Ethernet standard will be referred to as a Provider Bridging (PB) domain.
The Ethernet standard has evolved to also allow for a second encapsulation process to take place as specified in IEEE 802.1ah. Specifically, an ingress network element to a service provider's network may encapsulate the original Ethernet frame with an outer MAC header including a destination address on the service provider's network (B-DA), a source address on the service provider's network (B-SA), a VLAN ID (B-VID) and a service instance tag (I-SID). The combination of the customer MAC addresses (C-SA and C-DA) and the I-SID are commonly referred to as the I-Tag. A domain implemented using this Ethernet standard will be referred to as a Provider Backbone Bridging (PBB) domain.
802.1Q, 802.1ad, and 802.1ah all use one or more spanning tree instances in the control plane to determine which links should be active and which should be blocked to prevent the formation of loops. An Ethernet network domain that implements one or more spanning trees on the control plane will be referred to herein as a spanning tree controlled Ethernet network domain.
Since a spanning tree requires all data to flow on particular selected links on the network, the network links that are part of the spanning tree may experience congestion. IEEE 802.1Qay was developed to allow traffic engineered paths to be defined on the network so that traffic could be forwarded over links not forming part of the spanning tree. IEEE 802.1Qay specifies a way for network elements on an Ethernet network domain to switch traffic based on the B-DA and B-VID rather than just forwarding the traffic according to the B-DA. The header of the frames forwarded on an Ethernet network established using this technology is not changed, but the manner in which the header information is used is changed, to allow forwarding to take place in a different manner. A network domain that forwards traffic using this forwarding paradigm will be referred to as Provider Backbone Trunking (PBT) network. PBT networks allow traffic engineered paths (trunks) to be established so that traffic can follow specified paths through the network rather than being required to follow the links that have been selected to be part of the spanning tree. The spanning tree is still used to forward control frames, however.
Network nodes may be logically or physically arranged many different ways. One common way to arrange or interconnect network elements is to interconnect them in a ring, for example as shown in FIG. 2. In the example shown in FIG. 2, the ring 20 includes nodes 12, which are interconnected by links 14. In the example shown in FIG. 2, each node has a pair of 802.3 MAC interfaces 16 and an 802.1 bridge relay 18. 802.3 is another protocol established by the IEEE to define the Ethernet link layer. A control entity 20 is used to allow the network elements to exchange routing information and other control information, and is used by the network element to control how the data plane handles the data on the network. For example, the control entity enables the node to participate in the spanning tree.
Ethernet Shared Protection Rings (E-SPRING) is a protocol designed to be used in Ethernet rings such as the ring of FIG. 2, and is defined as ITU-T SG15/Q9, G.8032. This protocol specifies how the nodes on the ring should handle unicast, multicast, and broadcast frames. It also specifies multiple service classes, failure handling, and other aspects of how traffic should be forwarded by nodes on the Ethernet ring. The manner in which an Ethernet ring operates is described in greater detail in U.S. patent application Ser. No. 12/027,942, entitled Method And Apparatus For Controlling A Set Of Ethernet Nodes Interconnected To Form One Or More Closed Loops, filed Feb. 7, 2008, the content of which is hereby incorporated herein by reference.
Ethernet rings are able to interconnect with an Ethernet network running a spanning tree or implementing traffic engineered paths if the networks are interconnected at a single node. Unfortunately, having the two networks interconnected at a single node creates a single point of failure since, if the node goes down, interconnectivity between the networks will be lost. Thus, it would be advantageous to allow the two networks to be connected by two or more nodes. However, since the two networks are running two different control planes (E-SPRING control plane in ring, and spanning tree in the other Ethernet network) it is necessary to allow the nodes on the ring to know which of the nodes bridging between the two networks (or whether both of the nodes) are on the spanning tree. At the same time, the spanning tree should be allowed to extend over the ring network without affecting the operation of the ring network.